jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

PHPCMS V9按浏览次数(月、周、总)排行GET标签调用文章

来源:网络整理  作者:网友投稿  发布时间:2020-12-28 23:08
本文介绍下,在phpcms v9中,按浏览次数(月、周、总)排行GET标签调用文章的方法,感兴趣的朋友参考学习下。...

  想在下载站点中实现下载排行,按照一般的逻辑,进入某栏目,显示的是某栏目的下载排行,而在首页呢,应该显示的是全站所有软件条目的下载排行。

  PHPCMS V9的标签不支持重复调用多个栏目,例如我想显示某两个栏目的下载排行,V9就做不到了,而之前的2008版却是可以支持的。令人费解,只能认为是新架构,还没来得及完善了。

   浏览次数的表里面,与相关文章或下载内容关联的是一个叫“hitsid”的字段,同时也是该表的主键。存储的字段内容如“c-2-5”一 类的,而不是普通的整型数字,不能简单的与文章表或者下载表里面的条目的“id”号直接关联就得到相关的浏览次数,这个另类的“x-y-z”的方式令不少 SQL语句的生手望而生畏,包括本人。

  不过还好,这个“x-y-z”的格式是有规律可循的,于是乎,我查看了相关的文档,想到了用字符 串的形式,因为我做的是下载站,“x-y-”这段字符串是固定的,就是“c-2-”,第一个“c”是什么不知道,第二个“2”应该是内容模型,“2”是下 载模型,“1”是文章模型,可以到模型管理里面查看id号。最后那个数字就是对应的文章表或下载表里的条目id了,所以,也不是没有方法的,我想到的就是 在SQL语句里,将固定的“c-2-”和字段id合在一起,得到的就是诸如“c-2-5”一类的字符串,然后在用条件比对即可。
  限于本人水平有限,这个字符串加了半天,没有能够成功。另一个方法,就是使用SQL语句的“substring”。
先附上这位同学给出的方法:

频道总排行调用方法:
 

复制代码 代码示例:

<div class="box">
    <h5 class="title-2">频道总排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num="10" cache="3600"}
    <ul class="content digg">
        {loop $data $r}
            <li> <a href=http://www.jquerycn.cn/a_9319/"{$r[url]}" title=http://www.jquerycn.cn/a_9319/"{$r[title]}"  target="_blank">{str_cut($r[title],36,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>

频道月排行调用方法:
 

复制代码 代码示例:

<div class="box">
    <h5 class="title-2">频道本月排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.monthviews desc" num="8" cache="3600"}
    <ul class="content rank">
        {loop $data $r}
        <li><span>{number_format($r[views])}</span><a href=http://www.jquerycn.cn/a_9319/"{$r[url]}"{title_style($r[style])} class="title" title=http://www.jquerycn.cn/a_9319/"{$r[title]}">{str_cut($r[title],56,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>

我的代码只用到前一个例子中的SQL语句中的substring方法。Substring是截取字符串的作用。

调用全站所有文章排行的方法:
 

复制代码 代码示例:

<div class="idxTopApps contents">
<ul class="indexIcns">
{pc:get sql="SELECT a.id,a.url,a.thumb,a.status,b.hitsid,b.views FROM v9_download a, v9_hits b WHERE a.status=99 and a.id=substring(b.hitsid,5) ORDER BY b.views DESC" num="6"}
{loop $data $r}
<li><a href=http://www.jquerycn.cn/a_9319/"{$r['url']}"><img src=http://www.jquerycn.cn/a_9319/"{$r['thumb']}" /></a></li>
{/loop}
{/pc}
</ul>
</div>

代码说明:
 “substring(b.hitsid,5)”是截取hitsid字段,从左往右数第5个字符串,即“c-2-5”从左往右数,1个“c”,1个 “2”,2个“-”,第5个字符就是“5”,截取后只剩下了第2个“-”后的id,到达了最终提取id的目的。
 
 当然,还加入了另一个条件 “status=99”,即审核通过的文章。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/10359.shtml

最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

PHPCMS V9按浏览次数(月、周、总)排行GET标签调用文章

2020-12-28 编辑:网友投稿

  想在下载站点中实现下载排行,按照一般的逻辑,进入某栏目,显示的是某栏目的下载排行,而在首页呢,应该显示的是全站所有软件条目的下载排行。

  PHPCMS V9的标签不支持重复调用多个栏目,例如我想显示某两个栏目的下载排行,V9就做不到了,而之前的2008版却是可以支持的。令人费解,只能认为是新架构,还没来得及完善了。

   浏览次数的表里面,与相关文章或下载内容关联的是一个叫“hitsid”的字段,同时也是该表的主键。存储的字段内容如“c-2-5”一 类的,而不是普通的整型数字,不能简单的与文章表或者下载表里面的条目的“id”号直接关联就得到相关的浏览次数,这个另类的“x-y-z”的方式令不少 SQL语句的生手望而生畏,包括本人。

  不过还好,这个“x-y-z”的格式是有规律可循的,于是乎,我查看了相关的文档,想到了用字符 串的形式,因为我做的是下载站,“x-y-”这段字符串是固定的,就是“c-2-”,第一个“c”是什么不知道,第二个“2”应该是内容模型,“2”是下 载模型,“1”是文章模型,可以到模型管理里面查看id号。最后那个数字就是对应的文章表或下载表里的条目id了,所以,也不是没有方法的,我想到的就是 在SQL语句里,将固定的“c-2-”和字段id合在一起,得到的就是诸如“c-2-5”一类的字符串,然后在用条件比对即可。
  限于本人水平有限,这个字符串加了半天,没有能够成功。另一个方法,就是使用SQL语句的“substring”。
先附上这位同学给出的方法:

频道总排行调用方法:
 

复制代码 代码示例:

<div class="box">
    <h5 class="title-2">频道总排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num="10" cache="3600"}
    <ul class="content digg">
        {loop $data $r}
            <li> <a href=http://www.jquerycn.cn/a_9319/"{$r[url]}" title=http://www.jquerycn.cn/a_9319/"{$r[title]}"  target="_blank">{str_cut($r[title],36,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>

频道月排行调用方法:
 

复制代码 代码示例:

<div class="box">
    <h5 class="title-2">频道本月排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.monthviews desc" num="8" cache="3600"}
    <ul class="content rank">
        {loop $data $r}
        <li><span>{number_format($r[views])}</span><a href=http://www.jquerycn.cn/a_9319/"{$r[url]}"{title_style($r[style])} class="title" title=http://www.jquerycn.cn/a_9319/"{$r[title]}">{str_cut($r[title],56,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>

我的代码只用到前一个例子中的SQL语句中的substring方法。Substring是截取字符串的作用。

调用全站所有文章排行的方法:
 

复制代码 代码示例:

<div class="idxTopApps contents">
<ul class="indexIcns">
{pc:get sql="SELECT a.id,a.url,a.thumb,a.status,b.hitsid,b.views FROM v9_download a, v9_hits b WHERE a.status=99 and a.id=substring(b.hitsid,5) ORDER BY b.views DESC" num="6"}
{loop $data $r}
<li><a href=http://www.jquerycn.cn/a_9319/"{$r['url']}"><img src=http://www.jquerycn.cn/a_9319/"{$r['thumb']}" /></a></li>
{/loop}
{/pc}
</ul>
</div>

代码说明:
 “substring(b.hitsid,5)”是截取hitsid字段,从左往右数第5个字符串,即“c-2-5”从左往右数,1个“c”,1个 “2”,2个“-”,第5个字符就是“5”,截取后只剩下了第2个“-”后的id,到达了最终提取id的目的。
 
 当然,还加入了另一个条件 “status=99”,即审核通过的文章。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/10359.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页